home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / dev / m2 / m2_part1.lha / modula / examples / src / cat.mod < prev    next >
Text File  |  1994-07-30  |  804b  |  32 lines

  1. MODULE cat ;
  2.  
  3. FROM SYSTEM IMPORT STRING ;
  4. IMPORT SIO := StdIO , SLib := StdLib , M2 := M2Lib ;
  5.  
  6. VAR
  7.   i       : INTEGER ;
  8.   buf       : ARRAY [0..511] OF CHAR ;
  9.   fi       : SIO.FILEPtr ;
  10.  
  11. PROCEDURE brk( ) : LONGINT ;
  12. BEGIN SIO.puts("Well, if you insist...") ; RETURN 1
  13. END brk ;
  14.  
  15. BEGIN
  16.   (* StdLib.expand_args will expand any command line wildcard arguments *)
  17.   SLib.expand_args( M2.argc, M2.argv , M2.argc , M2.argv ) ;
  18.   IF M2.argc = 1 THEN SIO.puts("cat <files>") ; SLib.exit( 1 ) END ;
  19.   SLib.onbreak( brk ) ;
  20.   FOR i := 1 TO M2.argc-1 DO
  21.     fi := SIO.fopen( M2.argv^[i] , "r" );
  22.     IF fi # NIL THEN
  23.       WHILE SIO.fgets( buf , SIZE( buf ) , fi ) # NIL DO
  24.     SIO.fputs( buf , SIO.stdout )
  25.       END;
  26.       SIO.fclose( fi )
  27.     ELSE SIO.printf( "Unable to open %s\n" , M2.argv^[i] )
  28.     END
  29.   END
  30. END cat.
  31.  
  32.